This invention relates to a system and/or method for estimating a cell rate in an ATM (asynchronous transfer mode) network. More particularly, this invention relates to a system and/or method for estimating cell rate by exponentially averaging the number of cell intervals between two cells received on a connection in an ATM network.
The increasing interest for high band services such as multimedia applications, video on demand, video telephone, cellular phone services, and teleconferencing has motivated development of the Broadband Integrated Service Digital Network (B-ISDN). B-ISDN is based on ATM, and offers considerable extension of telecommunications capabilities.
ATM is a packet-oriented transfer mode which uses asynchronous time division multiplexing techniques. ATM packets are called xe2x80x9ccellsxe2x80x9d and have a fixed size. An ATM cell typically consists of fifty-three (53) octets, five (5) of which form a header and forty-eight (48) of which constitute a payload or information part of the cell. The header includes two quantities which are used to identify a connection in an ATM network over which the cell is to travel, particularly the VPI (virtual path identifier) and VCI (virtual channel identifier).
At its termination or end points, an ATM network is connected to terminal equipment such as ATM network users (i.e. end systems). Between ATM end systems are a plurality of switching nodes having ports which are connected together by physical transmission paths or links. Thus, an ATM network is a collection of end systems interconnected through one or more ATM switches. On a connection, an end system both sends data to other end system(s) on the network involved in the connection, and receives data from other end systems on the network involved in the connection. When an end system is a data sender, it is called a xe2x80x9csourcexe2x80x9d and when a receiver it is called a xe2x80x9cdestination.xe2x80x9d For example, see U.S. Pat. Nos. 5,963,553 and 5,946,309, the disclosures of which are hereby incorporated herein by reference.
Multiple service categories of differing traffic characteristics and/or service guarantees have been defined for ATM networks. Examples include CBR (constant bit rate), rt-VBR (real-time variable bit rate), UBR (unspecified bit rate), nrt-VBR (non-real-time variable bit rate), and ABR (available bit rate).
ABR is intended primarily for non-real-time data applications with varying and/or unknown bandwidth requirements and which cannot easily be characterized in terms of a peak cell rate, a sustainable cell rate, and a maximum burst size. The source of an ABR VC (virtual circuit or connection) periodically creates and sends control cells called RM (resource management) cells which travel through the same path as data cells (e.g., traffic cells) of the VC to the destination of that VC. The destination then loops these cells back to the source through the same path. When an RM cell is traveling from the source to the destination it is called a forward RM cell; and when travelling from the destination to a source it is called a backward RM cell. FIG. 1 illustrates an exemplary RM cell including fields thereof.
Referring to FIG. 1, certain of these RM cell fields are read-only fields while others may be modified by intermediate ATM switches and/or the destination. For example, the CCR (current cell rate) field is a read-only field that contains the value of ACR (allowed cell rate) at the transmission time of the RM cell from the source. The DIR field represents a direction bit. When a source creates an RM cell, its sets DIR to zero (0) indicating a forward RM cell. Before the destination loops back an RM cell, it changes DIR to one (1) indicating a backward RM cell.
The ACR (contained in the CCR field) represents the rate the source is using to control its cell transmission for a VC or other network connection. The ACR value of a particular forward RM cell is inserted into that cell""s CCR field at the time of its transmission. Sources adjust ACR based upon cell rate feedback carried by returning RM cells.
ABR switch mechanisms often suffer from CCR-reliance problems as follows. ER (explicit rate) values are determined by an ABR switch for each ABR connection. These values are sent back to the source in backward RM cells. ABR switch mechanisms typically read the CCR fields of RM cells passing through them and use these CCR fields in their ER calculations.
An implicit assumption that existing systems make is that the CCR field read by a switch from an RM cell on a given VC represents the actual rate of the VC at the moment of reading the field. This is often not true for at least the following reasons. First, CCR represents the maximum rate that the VC can use (i.e. ACR) at the time the RM cell was transmitted by the source. However, an ABR VC need not use all of its ACR. Thus, ACR may be larger than the actual rate of the VC. Second, when an RM cell is received by an intermediate switch and its CCR field read by the switch, the CCR field is old at that point and may not reflect the current value of ACR back at the source, not to mention the current actual cell rate. Third, a bad (or smart) source may insert a wrong ACR value into its CCR field in hope of acquiring more rate by doing so. This can cause the network to suffer in terms of buffer overflows; and fairness issues may arise.
To avoid the aforesaid CCR-reliance problems, per ABR VC rate measurements may be performed. One way of measuring (or estimating) ATM cell rate is to define a measuring time period xe2x80x9cTxe2x80x9d (e.g. 5 ms), and count the number of received ATM cells on a connection during that period. The cell rate is then n/T, where xe2x80x9cnxe2x80x9d is the count. This method may be rather accurate when the value of xe2x80x9cnxe2x80x9d is large (i.e. for high cell rate connections), because a minor deviation in the count number xe2x80x9cnxe2x80x9d does not substantially change the calculated rate. For example, if xe2x80x9cnxe2x80x9d changes from 75 to 73 when T is 5 ms, this only changes the measured cell rate from 15000 cells/s to 14600 cells/s, which is not a substantial change.
On the other hand, for low rate connections, the value xe2x80x9cnxe2x80x9d is small and even a single deviation in count value xe2x80x9cnxe2x80x9d can substantially affect the calculated cell rate. For example, assume the cell rate is just below one cell per period. In some intervals the count xe2x80x9cnxe2x80x9d will be one (1) and the rate 200 cells per second, but in other intervals the count xe2x80x9cnxe2x80x9d will be zero (0) and the calculated rate will be zero (0). Likewise, even a shift in xe2x80x9cnxe2x80x9d from 1 to 2 will substantially change the measured cell rate from interval to interval. In short, this method of estimating cell rate is undesirable for low cell rate applications/connections.
Another manner in which to measure or estimate ATM cell rate is to measure the time (using a count of ATM cell intervals) between two cells received on the same connection (e.g. VC). The estimated cell rate in this case is 1/(n*t), where xe2x80x9ctxe2x80x9d is the length of a cell interval and xe2x80x9cnxe2x80x9d is the count value. This method has the opposite problem as that of the first measurement method previously described. This method is rather accurate for low cell rate connections (xe2x80x9cnxe2x80x9d is large), but does not work well for high cell rate connections (xe2x80x9cnxe2x80x9d is low). In high cell rate connections where xe2x80x9cnxe2x80x9d is low, a change in xe2x80x9cnxe2x80x9d from one (1) to two (2) would have a substantial effect on the measured cell rate. For example, if a rate over five or so cells received on a connection was truly about 1/1.1*t (but xe2x80x9cnxe2x80x9d varied between 1 and 2), the calculation of cell rate when xe2x80x9cnxe2x80x9d was 2 would be xc2xd*t and would not accurately reflect the true cell rate.
The point where the two aforesaid methods have approximately the same accuracy is when xe2x80x9cnxe2x80x9d is equal in both methods, which is when xe2x80x9cnxe2x80x9d is equal to the square root of N (where N is the number of cell intervals in the measuring period).
One solution to the aforesaid problem(s) would be to use the first method (i.e. cell rate=n/T) for connections with high cell rates and the second method (i.e. cell rate =1/(n*t)) for low cell rate connections. The problem with this approach is that an ATM connection (e.g. VC) may have very different cell rates at different times, so both types of measurements may have to be performed on all connections at all times.
What is needed therefore, and an object of this invention, is an efficient method/system for estimating ATM cell rates in both high and low cell rate connections.
A method/system for estimating cell rate is provided. The cell rate to be reported to an ATM (asynchronous transfer mode) source may be estimated using a previously calculated cell rate parameter weighted in a manner dependent upon whether the previous rate was high or low. An averaging parameter may be adjusted for each calculation so that for low rate connections newly measured data is more heavily weighted, and for high rate connections newly measured data is less heavily weighted. Relatively accurate and quick estimates for both high bandwidth and low bandwidth connections are thus achievable.
For example, in one non-limiting embodiment the cell rate (CR) on an ATM connection may be estimated as CR=1/[A(new)*t], where: xe2x80x9ctxe2x80x9d is the length of a cell interval, and A(new)=A(old)*(1xe2x88x92xcex1)+(xcex1*n)=A(old)xe2x88x92xcex1*(A(old)xe2x88x92n). In the latter equation, xe2x80x9cnxe2x80x9d is a value indicative of the number of cell intervals between two received cells on the same connection; A(old) is the previously stored and calculated cell rate parameter A; and xe2x80x9cxcex1xe2x80x9d is an averaging parameter to be adjusted between 0 and 1 as a function of cell rate on the connection. When xe2x80x9cnxe2x80x9d is large (low cell rate) on a connection, parameter xe2x80x9cxcex1xe2x80x9d is adjusted to a high value(s) so that previously estimated or calculated cell rate parameters (e.g. A, xe2x80x9cnxe2x80x9d, and/or CR) are soon forgotten and the newly estimated cell rate is based primarily upon newly measured data. However, when xe2x80x9cnxe2x80x9d is small (high cell rate) and may thus vary substantially relative to its previous value, parameter xe2x80x9cxcex1xe2x80x9d is adjusted to a lower value so that newly measured data does not have a significant immediate effect on the estimated cell rate (CR) to be sent back to a source in a backward RM cell.